import Main from '@/components/main'
import parentView from '@/components/parent-view'

/**
 * 路由meta除了原生参数外可配置的参数:
 * meta: {
 *  title: { String|Number|Function }
 *         显示在侧边栏、面包屑和标签栏的文字
 *         使用'{{ 多语言字段 }}'形式结合多语言使用，例子看多语言的路由配置;
 *         可以传入一个回调函数，参数是当前路由对象，例子看动态路由和带参路由
 *  hideInBread: (false) 设为true后此级路由将不会出现在面包屑中，示例看QQ群路由配置
 *  hideInMenu: (false) 设为true后在左侧菜单不会显示该页面选项
 *  showAlways: (default: false) 设为true后如果该路由只有一个子路由，在菜单中也会显示该父级菜单
 *  notCache: (false) 设为true后页面在切换标签后不会缓存，如果需要缓存，无需设置这个字段，而且需要设置页面组件name属性和路由配置的name一致
 *  access: (null) 可访问该页面的权限数组，当前路由设置的权限会影响子路由
 *  icon: (-) 该页面在左侧菜单、面包屑和标签导航处显示的图标，如果是自定义图标，需要在图标名称前加下划线'_'
 *  iconColor: (-) 图标颜色
 *  href: 'https://xxx' (default: null) 用于跳转到外部连接
 *  beforeCloseName: (-) 设置该字段，则在关闭当前tab页时会去'@/router/before-close.js'里寻找该字段名对应的方法，作为关闭前的钩子函数
 * }
 */

export default [{
  path: '/',
  name: '_home',
  redirect: '/ui/home',
  component: Main,
  meta: {
    hideInMenu: true,
    notCache: true
  },
  children: [{
    path: 'ui',
    name: 'ui',
    redirect: '/ui/home',
    meta: {
      hideInMenu: true,
      title: '首页',
      notCache: true
    },
    children: [{
      path: 'login',
      name: 'login',
      meta: {
        title: '首页',
        hideInMenu: true
      },
      component: () =>
          import('_v/single-page/home')
    }, {
      path: '/ui/home',
      name: 'home',
      meta: {
        hideInMenu: true,
        title: '首页',
        icon: 'md-home',
        notCache: true
      },
      component: () =>
        import('_v/single-page/home')
    }],
    component: () =>
        import('_v/single-page/home')
  }]
}
// , {
//   path: '/ui/users',
//   name: 'users',
//   meta: {
//     icon: 'ios-people',
//     title: '用户管理'
//   },
//   component: Main,
//   children: [{
//     path: 'add_user',
//     name: 'add_user',
//     meta: {
//       title: '添加用户'
//     },
//     component: () =>
//         import('@/view/components/count-to/count-to.vue')
//   }, {
//     path: 'role',
//     name: 'role',
//     meta: {
//       title: '权限管理'
//     },
//     component: () =>
//         import('@/view/components/drag-list/drag-list.vue')
//   }, {
//     path: 'tables_page',
//     name: 'tables_page',
//     meta: {
//       title: '多功能表格'
//     },
//     component: () =>
//         import('@/view/components/tables/tables.vue')
//   }, {
//     path: 'split_pane_page',
//     name: 'split_pane_page',
//     meta: {
//       title: '分割窗口'
//     },
//     component: () =>
//         import('@/view/components/split-pane/split-pane.vue')
//   }, {
//     path: 'markdown_page',
//     name: 'markdown_page',
//     meta: {
//       title: 'Markdown编辑器'
//     },
//     component: () =>
//         import('@/view/components/markdown/markdown.vue')
//   }, {
//     path: 'editor_page',
//     name: 'editor_page',
//     meta: {
//       title: '富文本编辑器'
//     },
//     component: () =>
//         import('@/view/components/editor/editor.vue')
//   }, {
//     path: 'icons_page',
//     name: 'icons_page',
//     meta: {
//       icon: '_bear',
//       title: '自定义图标'
//     },
//     component: () =>
//         import('@/view/components/icons/icons.vue')
//   }]
// }
, {
  path: '/ui/apply_lab',
  name: 'apply_lab',
  meta: {
    icon: 'md-paper',
    title: '实验室申请',
    showAlways: true
  },
  component: Main,
  children: [{
    path: 'fill_form',
    name: 'fill_form',
    meta: {
      title: '填写普通实验申请表',
      icon: 'md-radio-button-off',
      iconColor: '#f44336',
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN', 'ROLE_TEACHER']
    },
    component: () =>
        import('_v/lab-apply/apply-form/apply-form.vue')
  }, {
    path: 'fill_form_training',
    name: 'fill_form_training',
    meta: {
      title: '填写实训申请表',
      icon: 'md-radio-button-off',
      iconColor: '#FF9800',
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN', 'ROLE_TEACHER']
    },
    component: () =>
        import('_v/lab-apply/apply-training/apply-training.vue')
  }, {
    path: 'applied_form_mgmt',
    name: 'applied_form_mgmt',
    meta: {
      title: '申请表管理',
      icon: 'md-radio-button-off',
      iconColor: '#21ba45',
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN', 'ROLE_TEACHER']
    },
    component: () =>
        import('_v/lab-apply/applied-form-mgmt/applied-form-mgmt.vue')
  }
  // , {
  //   path: 'feedback',
  //   name: 'feedback',
  //   meta: {
  //     title: '反馈信息表',
  //     icon: 'md-radio-button-off',
  //     iconColor: '#2196F3'
  //   },
  //   component: () =>
  //       import('@/view/components/split-pane/split-pane.vue')
  // }
  // , {
  //   path: 'upload_weekly_calendar',
  //   name: 'upload_weekly_calendar',
  //   meta: {
  //     title: '上传教学周历',
  //     icon: 'md-radio-button-off',
  //     // iconColor: '#9B59B6',
  //     iconColor: '#853bff'
  //   },
  //   component: () =>
  //       import('@/view/components/markdown/markdown.vue')
  // }
  , {
    path: 'summary_sheet',
    name: 'summary_sheet',
    meta: {
      title: '实验室申请汇总表',
      icon: 'md-radio-button-off',
      iconColor: '#ff01c2',
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN']
    },
    component: () =>
        import('_v/lab-apply/lab-applied-summary-sheet/lab-applied-summary-sheet.vue')
  }
  ]
}
// , {
//   path: '/ui/arrange-lab',
//   name: 'arrange-lab',
//   meta: {
//     icon: 'ios-podium',
//     title: '实验室安排'
//   },
//   component: Main,
//   children: [{
//     path: 'conflict-detection',
//     name: 'conflict-detection',
//     meta: {
//       icon: 'ios-nuclear',
//       title: '冲突检测'
//     },
//     component: () =>
//         import('@/view/excel/upload-excel.vue')
//   }]
// }
, {
  path: '/ui/analysis',
  name: 'analysis',
  meta: {
    icon: 'ios-analytics',
    title: '统计分析',
    access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN', 'ROLE_TEACHER', 'ROLE_STUDENT_ASSISTANT', 'ROLE_STUDENT', 'ROLE_USER']
  },
  component: Main,
  children: [{
    path: 'general_schedule',
    name: 'general_schedule',
    meta: {
      title: '总体安排表',
      icon: 'md-radio-button-off',
      iconColor: '#f44336',
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN', 'ROLE_TEACHER', 'ROLE_STUDENT_ASSISTANT', 'ROLE_STUDENT', 'ROLE_USER']
    },
    component: () =>
        import('_v/statistics-analysis/general-schedule/general-schedule.vue')
  }
  // , {
  //   path: 'history_schedule',
  //   name: 'history_schedule',
  //   meta: {
  //     title: '历史总体安排表',
  //     icon: 'md-radio-button-off',
  //     iconColor: '#FF9800'
  //   },
  //   component: () =>
  //       import('@/view/components/drag-list/drag-list.vue')
  // }
  , {
    path: 'weekly_schedule',
    name: 'weekly_schedule',
    meta: {
      title: '周次安排表',
      icon: 'md-radio-button-off',
      iconColor: '#FFEB3B',
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN', 'ROLE_TEACHER', 'ROLE_STUDENT_ASSISTANT', 'ROLE_STUDENT', 'ROLE_USER']
    },
    component: () =>
      import('_v/statistics-analysis/weekly-schedule/weekly-schedule.vue')
  }, {
    path: 'lab_schedule',
    name: 'lab_schedule',
    meta: {
      title: '实验室安排表',
      icon: 'md-radio-button-off',
      iconColor: '#21ba45',
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN', 'ROLE_TEACHER', 'ROLE_STUDENT_ASSISTANT', 'ROLE_STUDENT', 'ROLE_USER']
    },
    component: () =>
        import('_v/statistics-analysis/lab-schedule/lab-schedule.vue')
  }
  // , {
  //   path: 'teach_schedule',
  //   name: 'teach_schedule',
  //   meta: {
  //     title: '学时数分析',
  //     icon: 'md-radio-button-off',
  //     iconColor: '#21ba45'
  //   },
  //   component: () =>
  //       import('@/view/components/editor/editor.vue')
  // }
  // , {
  //   path: 'people_schedule',
  //   name: 'people_schedule',
  //   meta: {
  //     title: '人时数分析',
  //     icon: 'md-radio-button-off',
  //     iconColor: '#2196F3'
  //   },
  //   component: () =>
  //       import('@/view/statistics-analysis/schedule-collapse/schedule-collapse.vue')
  // }
  ]
}
, {
  path: '/ui/user',
  name: 'user',
  meta: {
    icon: 'md-contacts',
    title: '用户管理',
    // hideInMenu: true,
    showAlways: true,
    access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN']
  },
  component: Main,
  children: [{
    path: 'list',
    name: 'list',
    meta: {
      title: '用户列表',
      icon: 'md-radio-button-off',
      iconColor: '#f44336',
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN']
    },
    component: () =>
        import('_v/user-mgmt/user-mgmt.vue')
  }]
}
, {
  path: '/ui/system_opt',
  name: 'system_opt',
  meta: {
    icon: 'logo-buffer',
    title: '系统管理',
    showAlways: true,
    access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN']
  },
  component: Main,
  children: [{
    path: 'base_info',
    name: 'base_info',
    meta: {
      // access: ['super_admin'],
      icon: 'md-settings',
      title: '基本信息管理',
      showAlways: true,
      access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN']
    },
    component: parentView,
    children: [{
      path: 'first_week_date',
      name: 'first_week_date',
      meta: {
        title: '设置第一周日期',
        notCache: true,
        icon: 'md-radio-button-off',
        iconColor: '#f44336',
        access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN']
      },
      component: () =>
          import('_v/system-operation/base-info/first-week-date/first-week-date.vue')
    }
    // , {
    //   path: 'course_dir_sort',
    //   name: 'CourseDirSort',
    //   meta: {
    //     title: '课程方向分类',
    //     icon: 'md-radio-button-off',
    //     iconColor: '#FF9800'
    //   },
    //   component: () =>
    //       import('@/view/update/update-paste.vue')
    // }
    , {
      path: 'lab_mgmt',
      name: 'lab_mgmt',
      meta: {
        title: '实验室管理',
        icon: 'md-radio-button-off',
        iconColor: '#FFEB3B',
        access: ['ROLE_ROOT', 'ROLE_SCHOOL_ADMIN', 'ROLE_INSTITUTE_ADMIN']
      },
      component: () =>
          import('_v/system-operation/base-info/lab-mgmt/lab-mgmt.vue')
    }
    ]
  }
  // , {
  //   path: 'data_backup',
  //   name: 'data_backup',
  //   meta: {
  //     // access: ['super_admin'],
  //     icon: 'md-repeat',
  //     title: '数据备份',
  //     showAlways: true
  //   },
  //   component: parentView,
  //   children: [{
  //     path: 'user_mgmt',
  //     name: 'user_mgmt',
  //     meta: {
  //       title: '用户信息表',
  //       icon: 'md-radio-button-off',
  //       iconColor: '#f44336'
  //     },
  //     component: () =>
  //         import('_v/user-mgmt/user-mgmt.vue')
  //   }
    // , {
    //   path: 'global_database',
    //   name: 'GlobalDatabase',
    //   meta: {
    //     title: '全局数据库',
    //     icon: 'md-radio-button-off',
    //     iconColor: '#FF9800'
    //   },
    //   component: () =>
    //       import('@/view/update/update-paste.vue')
    // }, {
    //   path: 'import_database',
    //   name: 'ImportDatabase',
    //   meta: {
    //     title: '导入数据库',
    //     icon: 'md-radio-button-off',
    //     iconColor: '#FFEB3B'
    //   },
    //   component: () =>
    //       import('@/view/update/update-paste.vue')
    // }, {
    //   path: 'single_exp_course_info_sheet',
    //   name: 'SingleExpCourseInfoSheet',
    //   meta: {
    //     title: '单个实验课程信息表',
    //     icon: 'md-radio-button-off',
    //     iconColor: '#21ba45'
    //   },
    //   component: () =>
    //       import('@/view/update/update-paste.vue')
    // }, {
    //   path: 'all_exp_course_info_sheet',
    //   name: 'AllExpCourseInfoSheet',
    //   meta: {
    //     title: '全部实验课程信息表',
    //     icon: 'md-radio-button-off',
    //     iconColor: '#2196F3'
    //   },
    //   component: () =>
    //       import('@/view/update/update-paste.vue')
    // }, {
    //   path: 'general_schedule1',
    //   name: 'GeneralSchedule1',
    //   meta: {
    //     title: '总体安排表',
    //     icon: 'md-radio-button-off',
    //     iconColor: '#853bff'
    //   },
    //   component: () =>
    //       import('@/view/update/update-paste.vue')
    // }
  //   ]
  // }
  ]
}
// , {
//   path: '/ui/export_report',
//   name: 'export_report',
//   meta: {
//     icon: 'ios-stats',
//     title: '报表输出'
//   },
//   component: Main,
//   children: [{
//     path: 'course_excel',
//     name: 'course_excel',
//     meta: {
//       title: '实验课开出情况'
//     },
//     component: () =>
//         import('@/view/update/update-table.vue')
//   }, {
//     path: 'all_course_excel',
//     name: 'all_course_excel',
//     meta: {
//       title: '实验项目开出情况汇总表'
//     },
//     component: () =>
//         import('@/view/update/update-paste.vue')
//   }, {
//     path: 'lab_utilization',
//     name: 'lab_utilization',
//     meta: {
//       title: '实验室利用率一览'
//     },
//     component: () =>
//         import('@/view/update/update-table.vue')
//   }, {
//     path: 'books_excel',
//     name: 'books_excel',
//     meta: {
//       title: '实验教材讲义、指导书总表'
//     },
//     component: () =>
//         import('@/view/update/update-paste.vue')
//   }, {
//     path: 'lab_staff_excel',
//     name: 'lab_staff_excel',
//     meta: {
//       title: '实验室工作人员情况表'
//     },
//     component: () =>
//         import('@/view/update/update-table.vue')
//   }, {
//     path: 'teach_people_hour',
//     name: 'teach_people_hour',
//     meta: {
//       title: '实验教学人时数统计表'
//     },
//     component: () =>
//         import('@/view/update/update-paste.vue')
//   }, {
//     path: 'select_excel',
//     name: 'select_excel',
//     meta: {
//       title: '多组输出汇总表'
//     },
//     component: () =>
//         import('@/view/update/update-paste.vue')
//   }]
// }
// , {
//   path: '/ui/maintenance',
//   name: 'maintenance',
//   meta: {
//     icon: 'ios-build',
//     title: '系统维护'
//   },
//   component: Main,
//   children: [{
//     path: 'log',
//     name: 'log',
//     meta: {
//       title: '日志'
//     },
//     component: () =>
//         import('@/view/update/update-table.vue')
//   }, {
//     path: 'manage_form_data',
//     name: 'manage_form_data',
//     meta: {
//       title: '登记表数据管理'
//     },
//     component: () =>
//         import('@/view/update/update-paste.vue')
//   }]
// }
// , {
//   path: '/ui/update',
//   name: 'update',
//   meta: {
//     icon: 'md-cloud-upload',
//     title: '数据上传'
//   },
//   component: Main,
//   children: [{
//     path: 'update_table_page',
//     name: 'update_table_page',
//     meta: {
//       icon: 'ios-document',
//       title: '上传Csv'
//     },
//     component: () =>
//         import('@/view/update/update-table.vue')
//   }, {
//     path: 'update_paste_page',
//     name: 'update_paste_page',
//     meta: {
//       icon: 'md-clipboard',
//       title: '粘贴表格数据'
//     },
//     component: () =>
//         import('@/view/update/update-paste.vue')
//   }]
// }
// , {
//   path: '/ui/mailto',
//   name: 'mailto',
//   component: Main,
//   children: [{
//     path: 'send_mail',
//     name: 'send_mail',
//     meta: {
//       icon: 'ios-mail',
//       title: '发送邮件'
//     },
//     component: () =>
//         import('@/view/join-page.vue')
//   }]
// }
// , {
//   path: '/ui/excel',
//   name: 'excel',
//   meta: {
//     icon: 'ios-stats',
//     title: 'EXCEL导入导出'
//   },
//   component: Main,
//   children: [{
//     path: 'upload-excel',
//     name: 'upload-excel',
//     meta: {
//       icon: 'md-add',
//       title: '导入EXCEL'
//     },
//     component: () =>
//         import('@/view/excel/upload-excel.vue')
//   }, {
//     path: 'export-excel',
//     name: 'export-excel',
//     meta: {
//       icon: 'md-download',
//       title: '导出EXCEL'
//     },
//     component: () =>
//         import('@/view/excel/export-excel.vue')
//   }]
// }
// , {
//   path: '/ui/tools_methods',
//   name: 'tools_methods',
//   meta: {
//     hide: true
//   },
//   component: Main,
//   children: [{
//     path: 'tools_methods_page',
//     name: 'tools_methods_page',
//     meta: {
//       icon: 'ios-hammer',
//       title: '工具方法',
//       beforeCloseName: 'before_close_normal'
//     },
//     component: () =>
//         import('@/view/tools-methods/tools-methods.vue')
//   }]
// }
// , {
//   path: '/ui/directive',
//   name: 'directive',
//   meta: {
//     hide: true
//   },
//   component: Main,
//   children: [{
//     path: 'directive_page',
//     name: 'directive_page',
//     meta: {
//       icon: 'ios-navigate',
//       title: '指令'
//     },
//     component: () =>
//         import('@/view/directive/directive.vue')
//   }]
// }
// , {
//   path: '/ui/multilevel',
//   name: 'multilevel',
//   meta: {
//     icon: 'md-menu',
//     title: '多级菜单'
//   },
//   component: Main,
//   children: [{
//     path: 'level_2_1',
//     name: 'level_2_1',
//     meta: {
//       icon: 'md-funnel',
//       title: '二级-1'
//     },
//     component: () =>
//         import('@/view/multilevel/level-2-1.vue')
//   }, {
//     path: 'level_2_2',
//     name: 'level_2_2',
//     meta: {
//       access: ['super_admin'],
//       icon: 'md-funnel',
//       showAlways: true,
//       title: '二级-2'
//     },
//     component: parentView,
//     children: [{
//       path: 'level_2_2_1',
//       name: 'level_2_2_1',
//       meta: {
//         icon: 'md-funnel',
//         title: '三级'
//       },
//       component: () =>
//           import('@/view/multilevel/level-2-2/level-3-1.vue')
//     }]
//   }, {
//     path: 'level_2_3',
//     name: 'level_2_3',
//     meta: {
//       icon: 'md-funnel',
//       title: '二级-3'
//     },
//     component: () =>
//         import('@/view/multilevel/level-2-3.vue')
//   }]
// }
// , {
//   path: '/ui/argu',
//   name: 'argu',
//   meta: {
//     hideInMenu: true
//   },
//   component: Main,
//   children: [{
//     path: 'params/:id',
//     name: 'params',
//     meta: {
//       icon: 'md-flower',
//       title: route => `动态路由-${route.params.id}`,
//       notCache: true,
//       beforeCloseName: 'before_close_normal'
//     },
//     component: () =>
//         import('@/view/argu-page/params.vue')
//   }, {
//     path: 'query',
//     name: 'query',
//     meta: {
//       icon: 'md-flower',
//       title: route => `带参路由-${route.query.id}`,
//       notCache: true
//     },
//     component: () =>
//         import('@/view/argu-page/query.vue')
//   }]
// }
, {
  path: '/ui/401',
  name: 'error_401',
  meta: {
    hideInMenu: true
  },
  component: () =>
      import('@/view/error-page/401.vue')
}, {
  path: '/ui/500',
  name: 'error_500',
  meta: {
    hideInMenu: true
  },
  component: () =>
      import('@/view/error-page/500.vue')
}, {
  path: '/ui/*',
  name: 'error_404',
  meta: {
    hideInMenu: true
  },
  component: () =>
      import('@/view/error-page/404.vue')
}
// , {
//   path: '/ui/user',
//   name: 'user',
//   meta: {
//     hideInMenu: true,
//     title: '用户信息管理',
//     icon: 'md-contact'
//   },
//   component: Main,
//   children: [{
//     path: 'account_center',
//     name: 'account_center',
//     meta: {
//       title: '个人信息'
//     },
//     component: () =>
//         import('@/view/account-center/account-center.vue')
//   }, {
//     path: 'modify_pass',
//     name: 'modify_pass',
//     meta: {
//       title: '修改密码'
//     },
//     component: () =>
//         import('@/view/account-center/modify-pass.vue')
//   }]
// }
]
